The present invention relates to video image transformation, and more particularly to a programmable video transformation rendering method and apparatus that is highly flexible for creating potentially an infinite number of video effects.
In television production it is often useful to take a video image, which is either directly generated by a camera or synthesized by other electronic means, and to transform the image, either a portion of the image or the whole image, in real time. Such a transformation may be simple, such as affecting the entire display raster and performing simple functions like vertical or horizontal displacement, or alteration of size, position or rotation. Transformations also may be complex, involving limited or multiple areas of the image in intricate, creative ways, such as an "exploding video picture" where the video image appears to break up into 100 shards and then each shard spins out in various directions from the center.
A generic digital picture manipulator, such as is described in U.S. Pat. No. 4,689,681 issued Aug. 25, 1987 to Richard A. Jackson entitled "Television Special Effects System" and embodied in the Kaleidoscope Digital Picture Manipulator manufactured by The Grass Valley Group, Inc. of Grass Valley, Calif., U.S.A., receives a video signal, representing an image in source space, and passes it through a two-dimensional (2D) lowpass filter, sometimes called a blurring or anti-aliasing filter. Depending upon the effect being implemented, the cutoff frequency of the filter may be adjusted on a pixel by pixel basis. A forward address generator generates write addresses for inputting the filtered video signal into a transform memory, as well as providing appropriate filter selection information for the 2D filter. A reverse address generator generates read addresses for outputting the video signal from the transform memory for display in target space. An address for both X and Y axes is generated for every output pixel in target space, the address for both axes having a precision in excess of an integer pixel address. The fractional, or "subpixel", portion of the address is used to perform a simple linear four point interpolation to determine the pixel value in target space. However the transformations available in such a digital picture manipulator are limited to a specific set, and are not flexible enough to readily perform new transformations without modification of the existing product.
What is desired is a highly flexible programmable realtime video image transformation rendering method that permits a virtually unlimited number of creative video effects.